#pragma once

#include <d3dx10math.h>

namespace Crows3D
{
   class Camera
   {
   private:
      D3DXMATRIX view;
      D3DXMATRIX proj;

      D3DXVECTOR3 position;
      D3DXVECTOR3 yawPitchRoll;

   public:
      Camera(void);
      ~Camera(void);

      void SetPosition(float x, float y, float z);
      void SetYawPitchRoll(float yaw, float pitch, float roll);

      void SetupPerspective(float fov, float aspect, float nearClip, float farClip);
      void SetupOrthographic(float width, float height, float nearClip, float farClip);

      void GetMatrices(D3DXMATRIX& viewMatrix, D3DXMATRIX& projMatrix);
   };
}